using System;

using Org.BouncyCastle.Security;

namespace Org.BouncyCastle.Crypto.Parameters
{
	public class ElGamalKeyGenerationParameters
		: KeyGenerationParameters
	{
		private readonly ElGamalParameters parameters;

		public ElGamalKeyGenerationParameters(
			SecureRandom		random,
			ElGamalParameters	parameters)
			: base(random, GetStrength(parameters))
		{
			this.parameters = parameters;
		}

		public ElGamalParameters Parameters
		{
			get { return parameters; }
		}

		internal static int GetStrength(
			ElGamalParameters parameters)
		{
			return parameters.L != 0 ? parameters.L : parameters.P.BitLength;
		}
	}
}
